home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / util / arc / LZHUtils_src.lha / XJoin.c < prev    next >
C/C++ Source or Header  |  1997-06-05  |  1KB  |  67 lines

  1. /*
  2.  * XJoin - Join several parts of a file to a single one.
  3.  *           
  4.  *
  5.  * © 1995 The Xperts Group Inc. All Rights Reserved.
  6.  * Author: Manolis S Pappas.
  7.  * Version 1.1a
  8.  *
  9.  *
  10.  */
  11.  
  12. #include <stdio.h>
  13. #include <string.h>
  14.  
  15. #define VERSION "1.1a"
  16. #define EXIT_FAILURE 1
  17.  
  18. static const char versid[]="$VER: XJoin v1.1a (7.1.96)";
  19.  
  20. FILE *open_vol(name, no)
  21. char *name;
  22. long no;
  23. {
  24.   char work[1024];
  25.  
  26.   if (no)
  27.     sprintf(work, "%s.%02d", name, no);
  28.   else
  29.     sprintf(work, "%s", name);
  30.  
  31.   return fopen(work, "rb");
  32. }
  33.  
  34. int main(argc, argv)
  35. int argc;
  36. char **argv;
  37. {
  38.   char buffer[1024];              /* Small I/O buffer */
  39.   FILE *in, *out;
  40.   long j, vol_no = 0;
  41.  
  42.   if (argc != 3) {
  43.     printf("XJoin v%s\n",VERSION);
  44.     printf("Copyright (©) 1995-96, The Xperts Group Inc.\n");
  45.     printf("All Rights Reserved Worldwide.\n");
  46.     printf("Author: Manolis S Pappas.\n\n");
  47.     printf("Usage: %s <infilebase> <outfilename>\n", argv[0]);
  48.     exit(EXIT_FAILURE);
  49.   }
  50.  
  51.   if (out = fopen(argv[2], "wb")) {
  52.     while (in = open_vol(argv[1], vol_no++)) {
  53.       while(!feof(in)) {
  54.         j = fread(buffer, 1, 1024, in);
  55.         fwrite(buffer, 1, j, out);
  56.       }
  57.       fclose(in);
  58.     }
  59.   } else {
  60.     printf("Error opening destination!!\n\n");
  61.     exit(EXIT_FAILURE);
  62.   }
  63.  
  64.   return 0;
  65. }
  66.  
  67.